Internet traffic volume has been increasing at an exponential rate over the past few years. So far, capacity provisioning and developments in traffic management have sustained this increased network activity. However, network congestion has become more prevalent resulting in a general deterioration of the quality of service provided by Internet service providers (ISPs). To mitigate this decrease in service there have been suggestions to share network bandwidth in a more controlled manner. In other words, there have been suggestions to alter the pricing structure for Internet services. More particularly, there have been proposals for a number of pricing models that require an Internet customer to pay for a predetermined amount of bandwidth per billing cycle.
The flat rate that a customer pays per billing cycle entitles the customer to use up to the predetermined amount of bandwidth. Once the customer has exhausted their allocated bandwidth for the billing cycle a couple of options are available. One, the customer may be charged a premium for additional bandwidth usage beyond the pre-allocated bandwidth. Two, the ISP may reduce the quality of service available to the customer for the remainder of the billing cycle. The ISP can typically reduce the quality of service for a customer by decreasing the customer's download/upload speed. Three, the customer may not be allowed any more access to the Internet for the rest of the billing cycle.
The second and third options described above may not be tolerable to a company or customer that requires use of the Internet at a particular connection speed. Indeed, many companies today rely on a properly functioning Internet to conduct day-to-day business. Without the Internet or with a reduced connection speed, many companies would experience severe losses due to decreases in efficiency. Therefore, the first option seems to be the most prevalent and desirable to the ISP and customer alike. In the third option, the ISP is able to receive a premium on additional bandwidth utilization and the customer is able to conduct business as usual.
In fact, pricing models that allocate a predetermined amount of bandwidth for a billing cycle and charge a premium for use over the allocated bandwidth have been instituted in several countries already. For example, an ISP in Australia offers a plan that allows a customer to use up to 600 MB per month for a flat fee of $29.99 per month. If the customer uses their quota of bandwidth before the end of the month, the customer may continue to use bandwidth at an additional charge of $0.15/MB. For an allocation of 50 GB per month a customer has to pay a flat fee of $89.99 per month. When the customer exceeds their quota of bandwidth before the end of the month, the customer will still pay $0.15/MB for additional bandwidth utilization.
A customer may utilize bandwidth in a number of ways. For example, data transfers (uploads and/or downloads) require use of network bandwidth. Typically, data uploads from a customer are not counted against a customer's use of bandwidth. However, certain pricing schemes may be envisioned in which the amount of bandwidth allocated to a customer includes both uploads and downloads of data. Additionally, bandwidth may be used during a VoIP call. The VoIP call requires the packetization and transmission of voice data, which necessitates use of bandwidth.
Various protocols are used to compress and packetize voice data for transmission across a packet-switched network. The device or program that is capable of performing the above-described compression/decompression and encoding/decoding steps is known as a codec. Codecs are able to put the stream or signal into an encoded form, often for transmission across a packet-switched network.
Codecs are generally used in telecommunications, video communications, and other streaming media applications. In a video communication environment, a video codec converts analog video signals from a video camera to digital signals for transmission over digital circuits. A corresponding codec on the receiving end then converts a digital signal back to an analog signal for display. In an audio communication environment, an audio codec converts an analog audio signal to a digital signal for transmission over a digital circuit. A corresponding codec on the receiving end then converts the digital signals back to analog signals for reproduction. Codecs may also be used in both cases to further compress the signal for transmission.
Codec algorithms may be implemented entirely in software, in which case a server, communication device, or the like, does all of the processing or this may also be done in hardware/firmware for faster processing. As audio and video signal processing techniques have developed, so too have the codec algorithms used to transmit audio and video signals. The result is that many different codecs exist and each of these codecs has unique operating parameters that affect the amount of bandwidth required to transmit packets of information.
One example of these codecs is the G.711 codec which samples at 8 kHz and is a standard to represent typically an 8 bit sample. The G.711 codec has a voice payload size of 160 bytes per packet corresponding to a packet size of 20 milliseconds. On the other hand, the G.729 codec operates at 8 kbit/s, samples at 8 kHz and uses a voice payload size of 20 bytes per packet corresponding to a packet size of 20 milliseconds. Many other types of codecs exist, each of which may require a different amount of bandwidth for a voice payload. Generally, a higher quality codec (i.e., a codec that creates a higher quality of sound as perceived by the listener) like G.711 or G.722 uses more bandwidth per packet than does a lower quality codec like G.729 or G.726.
All VoIP packets are made up of two components: voice samples and IP/UDP/RTP headers. Although the voice samples are compressed by a processor (usually located in the communication device, switch, or server) and may vary in size based on the codec used, the headers are a constant 40 bytes in length. As noted above, higher quality codecs create a larger voice payload than lower quality codecs. Customers would ideally like to use higher quality codecs all the time because of the quality of sound afforded by using the higher quality codec. Unfortunately, if higher quality codecs are used, a customer is more likely to exceed their allocated bandwidth than if they were using lower quality codecs. The additional costs for exceeding allocated bandwidth may be acceptable to customers that are not concerned with the price of communications. Regrettably, most suggested pricing models fail to consider the effect on businesses or other customers that have a somewhat limited budget for Internet service but still require a high quality of service.
These price sensitive customers could manually monitor their total bandwidth usage in an attempt to identify when the bandwidth usage is about to exceed the monthly quota. However, it is usually too late to take any actions to reduce the amount of bandwidth usage when total bandwidth usage is monitored manually. Short of discontinuing use of Internet services until the beginning of the next billing cycle, there is little a customer can do to stay within their allocated bandwidth usage when they are manually monitoring total bandwidth usage.